Creating and Maintaining a Singular Uninterrupted Focus While Transitioning Through a Graduated User Interface

ABSTRACT

Method, device, and computer product for displaying a single focus on a device. A piece of content is displayed in a first application on a display of the device. The piece of content is enlarged to create a single focus on the piece of content on the display. Parameters of the piece of content are passed to a second application. The piece of content is duplicated as an identical piece of content in the second application, and the identical piece of content is visually exactly positioned behind the piece of content on the display. The piece of content is seamlessly swapped with the identical piece of content of the second application, so that the identical piece of content is visually positioned to be viewable by the user. Tools of the second application are visually presented in an incremental transition until the tools are viewable and available to the user.

BACKGROUND

Exemplary embodiments relate to computer applications, and morespecifically, to creating and maintaining a singular uninterrupted focuswhile transitioning through applications.

Many times a user views many different pieces of content on a screen,e.g., such as in a dashboard. The user may click on a piece of content,such as a widget, in the dashboard to execute additional functionality.While the additional functionally is executing, the user's attention maybe drawn to something else in the dashboard, or the user may lose focus.

BRIEF SUMMARY

According to one embodiment, a method is provided for displaying asingle focus on a device. A piece of content in a first application isdisplayed on a display of the device. The piece of content is enlargedto create a single focus on the piece of content on the display of thedevice for a user. Parameters of the piece of content are passed to asecond application. The piece of content is duplicated as an identicalpiece of content in the second application, and the identical piece ofcontent is visually positioned behind the piece of content on thedisplay of the device. The piece of content of the first application isseamlessly swapped with the identical piece of content of the secondapplication, so that the identical piece of content is visuallypositioned on the display of the device to be viewable by the user. Thisswapping is not noticeable by the user. Tools of the second applicationare visually presented in an incremental transition until the tools areviewable on the display and available to the user.

Additional features are realized through the techniques of the presentdisclosure. Other systems, methods, apparatuses, and/or devicesaccording to other embodiments are described in detail herein and areconsidered a part of the claimed invention. For a better understandingof the features, refer to the description and to the drawings.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

The subject matter which is regarded as the invention is particularlypointed out and distinctly claimed in the claims at the conclusion ofthe specification. The foregoing and other features are apparent fromthe following detailed description taken in conjunction with theaccompanying drawings in which:

FIG. 1 illustrates a block diagram in accordance with exemplaryembodiments.

FIG. 2 illustrates a method by the transition software module (TSM) tocreate and maintain a singular uninterrupted focus while transitioningthrough a graduated user interface in accordance with exemplaryembodiments.

FIGS. 3A-3G illustrates example views in accordance with exemplaryembodiments.

DETAILED DESCRIPTION

In software usability, the locus of attention refers to the ability ofthe vast majority of computer users to only be able to focus on onething at a time. A change in locus of attention can cause a time delay(that the user may not perceive) when she shifts from one view toanother. Exemplary embodiments address issues related to softwareapplications that have multiple visible pieces of content to allow alocus of attention to be created and maintained when transitioningthough a view change in a graduated user interface.

For example, the Photoshop.com software application (of Adobe®Photoshop® software) allows users to edit photos from their library, butinterrupts the locus of attention when loading the editing tools tomanipulate the selected photo. Although Embedded Object Linking andEmbedding (OLE) objects in applications such as Word of MicrosoftOffice® software maintain the loading of the editing tools of theembedded object, it does not create a singular focus for the user.

Exemplary embodiments provide a method through which a seamlesstransition from one view to another in a graduated user interface isachieved by a transition software module (TSM) 160 (discussed below)while creating and maintaining a singular uninterrupted focus on a pieceof content. Accordingly, exemplary embodiments are configured to ensurethat the user of the software application will not lose context, andtherefore will not be potentially temporarily confused, as theytransition from one view to another.

The transition software module (TSM) 160 of exemplary embodiments isparticularly suited for interactive data exploration tools. For example,exemplary embodiments are configured to make sure that the user does notlose his or her train of thought as the user performs calculations,queries modifications, and makes changes in data visualization.

For many people, it is important that the graduated user experiencemoves along at the ‘speed of thought’, so that the user can gain accessto various functionality as part of the ‘natural flow’ of using theproduct.

Now turning to FIG. 1, FIG. 1 illustrates a block diagram in accordancewith exemplary embodiments. In FIG. 1, an example of a computer 100configured to implement exemplary embodiments is illustrated. Variousmethods, models, procedures, modules, processes, operations, flowdiagrams, and techniques discussed herein may be incorporated in and/orutilize the capabilities of the computer 100. Moreover, althoughcapabilities of the computer 100 may be utilized to implement featuresof exemplary embodiments discussed herein, it is understood thatexemplary embodiments are not meant to be limited.

Generally, in terms of hardware architecture, the computer 100 mayinclude one or more processors 110, computer readable storage memory120, and one or more input and/or output (I/O) devices 170 that arecommunicatively coupled via a local interface (not shown). The localinterface can be, for example but not limited to, one or more buses orother wired or wireless connections, as is known in the art. The localinterface may have additional elements, such as controllers, buffers(caches), drivers, repeaters, and receivers, to enable communications.Further, the local interface may include address, control, and/or dataconnections to enable appropriate communications among theaforementioned components.

The processor 110 is a hardware device for executing software that canbe stored in the memory 120. The processor 110 can be virtually anycustom made or commercially available processor, a central processingunit (CPU), a data signal processor (DSP), or an auxiliary processoramong several processors associated with the computer 100, and theprocessor 110 may be a semiconductor based microprocessor (in the formof a microchip) or a macroprocessor.

The computer readable memory 120 can include any one or combination ofvolatile memory elements (e.g., random access memory (RAM), such asdynamic random access memory (DRAM), static random access memory (SRAM),etc.) and nonvolatile memory elements (e.g., ROM, erasable programmableread only memory (EPROM), electronically erasable programmable read onlymemory (EEPROM), programmable read only memory (PROM), tape, compactdisc read only memory (CD-ROM), disk, diskette, cartridge, cassette orthe like, etc.). Moreover, the memory 120 may incorporate electronic,magnetic, optical, and/or other types of storage media. Note that thememory 120 can have a distributed architecture, where various componentsare situated remote from one another, but can be accessed by theprocessor 110.

The software in the computer readable memory 120 may include one or moreseparate programs, each of which comprises an ordered listing ofexecutable instructions for implementing logical functions. The softwarein the memory 120 includes a suitable operating system (O/S) 150,compiler 140, source code 130, and one or more applications such astransition software module (TSM) 160, application A 190, and applicationB 195 of the exemplary embodiments. As illustrated, the transitionsoftware module (TSM) 160, application A 190, and application B 195comprise numerous functional components for implementing the features,processes, methods, functions, and operations of the exemplaryembodiments. The transition software module (TSM) 160, application A190, and application B 195 of the computer 100 may represent numerousapplications, agents, software components, modules, interfaces,controllers, etc., as discussed herein but the transition softwaremodule (TSM) 160, application A 190, and application B 195 are not meantto be a limitation.

The operating system 150 may control the execution of other computerprograms, and provides scheduling, input-output control, file and datamanagement, memory management, and communication control and relatedservices.

The transition software module (TSM) 160, application A 190, andapplication B 195 may employ a service-oriented architecture, which maybe a collection of services that communicate with each. Also, theservice-oriented architecture allows two or more services to coordinateand/or perform activities (e.g., on behalf of one another). Eachinteraction between services can be self-contained and loosely coupled,so that each interaction is independent of any other interaction.

Further, the transition software module (TSM) 160, application A 190,and application B 195 may be a source program, executable program(object code), script, or any other entity comprising a set ofinstructions to be performed. When a source program, then the program isusually translated via a compiler (such as the compiler 140), assembler,interpreter, or the like, which may or may not be included within thememory 120, so as to operate properly in connection with the O/S 150.Furthermore, the transition software module (TSM) 160, application A190, and application B 195 can be written as (a) an object orientedprogramming language, which has classes of data and methods, or (b) aprocedure programming language, which has routines, subroutines, and/orfunctions.

The I/O devices 170 may include input devices (or peripherals) such as,for example but not limited to, a mouse, keyboard, scanner, microphone,camera, pointing device, etc. Furthermore, the I/O devices 170 may alsoinclude output devices (or peripherals), for example but not limited to,a printer, display 180, etc. Finally, the I/O devices 170 may furtherinclude devices that communicate both inputs and outputs, for instancebut not limited to, a NIC or modulator/demodulator (for accessing remotedevices, other files, devices, systems, or a network), a radio frequency(RF) or other transceiver, a telephonic interface, a bridge, a router,etc. The I/O devices 170 also include components for communicating overvarious networks, such as the Internet or an intranet. The I/O devices170 may be connected to and/or communicate with the processor 110utilizing Bluetooth connections and cables (via, e.g., Universal SerialBus (USB) ports, serial ports, parallel ports, FireWire, HDMI(High-Definition Multimedia Interface), etc.).

When the computer 100 is in operation, the processor 110 is configuredto execute software stored within the memory 120, to communicate data toand from the memory 120, and to generally control operations of thecomputer 100 pursuant to the software. The transition software module(TSM) 160, application A 190, and application B 195 and the O/S 150 areread, in whole or in part, by the processor 110, perhaps buffered withinthe processor 110, and then executed.

When the transition software module (TSM) 160, application A 190, andapplication B 195 are implemented in software it should be noted thatthe transition software module (TSM) 160, application A 190, andapplication B 195 can be stored on virtually any computer readablestorage medium for use by or in connection with any computer relatedsystem or method. In the context of this document, a computer readablestorage medium may be an electronic, magnetic, optical, or otherphysical device or means that can contain or store a computer programfor use by or in connection with a computer related system or method.

The transition software module (TSM) 160, application A 190, andapplication B 195 can be embodied in any computer-readable storagemedium 120 for use by or in connection with an instruction executionsystem, apparatus, server, or device, such as a computer-based system,processor-containing system, or other system that can fetch theinstructions from the instruction execution system, apparatus, or deviceand execute the instructions. In the context of this document, a“computer-readable storage medium” can be any means that can store,read, write, communicate, or transport the program for use by or inconnection with the instruction execution system, apparatus, or device.The computer readable storage medium can be, for example but not limitedto, an electronic, magnetic, optical, or semiconductor system,apparatus, or device.

More specific examples (a nonexhaustive list) of the computer-readablestorage medium 120 would include the following: an electrical connection(electronic) having one or more wires, a portable computer diskette(magnetic or optical), a random access memory (RAM) (electronic), aread-only memory (ROM) (electronic), an erasable programmable read-onlymemory (EPROM, EEPROM, or Flash memory) (electronic), an optical fiber(optical), and a portable compact disc memory (CDROM, CD R/W) (optical).Note that the computer-readable storage medium could even be paper oranother suitable medium, upon which the program is printed or punched,as the program can be electronically captured, via for instance opticalscanning of the paper or other medium, then compiled, interpreted orotherwise processed in a suitable manner if necessary, and then storedin a computer memory.

In exemplary embodiments, where the transition software module (TSM)160, application A 190, and application B 195 are implemented inhardware, the transition software module (TSM) 160, application A 190,and application B 195 can be implemented with any one or a combinationof the following technologies, which are each well known in the art: adiscrete logic circuit(s) having logic gates for implementing logicfunctions upon data signals, an application specific integrated circuit(ASIC) having appropriate combinational logic gates, a programmable gatearray(s) (PGA), a field programmable gate array (FPGA), etc.

It is understood that the computer 100 includes non-limiting examples ofsoftware and hardware components that may be included in variousdevices, servers, and systems discussed herein, and it is understoodthat additional software and hardware components may be included in thevarious devices and systems discussed in exemplary embodiments.

Application A 190 is a base application. Application A 190 is configuredto and capable of showing (implementing) multiple widgets at a time. Awidget is a window/box that is a container for content. For example, thecontent may be described by a report specification. However, content fora widget could be almost anything as understood by one skilled in theart.

Application B 195 is configured as an additional tools application. Theapplication B 195 is configured to and capable of advanced editingactions on the contents a widget from application A 190. Although thetransition software module 160, application A 190, and application B 195are shown separately in FIG. 1, the transition software module 160,application A 190, and/or application B 195 may be configured as asingle integrated software application with multiple software componentsand/or integrated in any combination.

The transition software module (TSM) 160 comprises software code thatfacilitates the transition between application A 190 and application B195. The transition software module (TSM) 160 co-ordinates thetransition (between application A 190 and application B 195) to beperceived (visually on the display 180) as seamless to the user andpasses the necessary information between applications A 190 and B 195required to accomplish this.

FIG. 2 illustrates a method 200 by the transition software module (TSM)160 to create and maintain a singular uninterrupted focus on a singlepiece of content while transitioning through a graduated user interfaceof the software application (such as the application A 190) with inaccordance with exemplary embodiments. The transition software module(TSM) 160 is configured to focus the user's attention on ‘informationfirst’. The transition software module (TSM) 160 is configured toimplement a user interface (such as a graphical user interface (GUI)),and the user interface of the transition software module (TSM) 160 isuncluttered and aims to maximize the view of, e.g., a dashboard, report,or other form of information (of, e.g., the base application A). Whenthe user sees something of interest in the information, the user canaccess more powerful functionality ‘on demand’ via the transitionsoftware model 160. By the transition software module (TSM) 160, theuser is able to access more powerful graduated (e.g., with a smoothtransition while visually holding the user's attention to a single focusarea) functionality and dig into the data to look for insights.

The transition software module (TSM) 160 operates as a singular focussoftware application configured to interface with other softwareapplications, such as the application A 190 and the application B 195 asdiscussed herein.

In FIG. 2, the transition software module (TSM) 160 is configured tocreate a singular focus on one piece of content (of the application A190) on the display 180 at operation 202. For example, on the display180, the transition software module (TSM) 160 is configured to visuallysingle out the selected piece of content and make the selected piece ofcontent the only visible piece of content to the user through the use ofa transition. By the transition software module (TSM) 160, this can beimplemented by means of an animated transition to visually enlarge theselected content so that no other content is visible on the display 180.

The transition software module (TSM) 160 is configured to maintain thesingular focus on the content (of the application A 190) while loadingadditional user interface (UI) components (e.g., application B 195) thatrelate to the content on the display 180 at operation 204. During theloading of the UI components such as editing tools (e.g., theapplication B 195), the transition software module (TSM) 160 isconfigured to hold and enlarge the content such that the selectedcontent never disappears from view during the loading process. Anyloading of the editing tools UI components (e.g., the application B 195)and graphical user interface of the editing tools is held in thebackground (not seen by the user) by the transition software module(TSM) 160 while the enlarged selected content is displayed in the front(i.e., prominently seen by the user) by the transition software module(TSM) 160.

The transition software module (TSM) 160 is configured to maintain thesingular focus on the content (of the application A 190) whiledisplaying the UI components, such as additional editing tools (such asthe application B 195), on the display 180 at operation 206. That is,the transition software module (TSM) 160 maintains the singular focus ofthe content on the display 180, so that the additional editing tools arerevealed (e.g., by showing or animating in by means of a fade or slidein transition) in the environment in such a way that the focus ofattention can remain on the content.

FIGS. 3A, 3B, 3C, 3D, 3E, 3F, and 3G (collectively referred to as FIG.3) illustrate an example transitioning through a graduated userinterface by the transition software module (TSM) 160 in accordance withexemplary embodiments.

With reference to FIG. 1, the transition software module (TSM) 160, theapplication A 190, and/or the application B 195 may be coupled to thecomputer 100, may be hosted on a server 20, and/or be partially (e.g.,have software components) on the computer 100 and the server 20.Although not shown for conciseness, the server 20 may include suitableprocessors 110, memory 120, source code 130, compiler 140, andinput/output device 170 for operating the server 20 as understood by oneskilled in the art. Moreover, the server 20 may include any part (orall) of various software and hardware components discussed herein forthe computer 100. The application A 190 may be a dashboard softwareapplication utilized for hosting mini-applications known as widgets, asmentioned herein. Dashboard widgets, like web pages, are capable of manydifferent things, often to perform tasks for the user to access.Although the dashboard implemented by the application A 190 is utilizedfor explanation purposes, it is contemplated that the graduatedtransition (of tools, such as editing tools) by the transition softwaremodule (TSM) 160 can be utilized for any other type of softwareapplication.

In view 301 of FIG. 3A, the application A 190 illustrates an initialstate. The application A 190 may be a dashboard application, and theapplication A 190 is in a state where it is displays four differentwidgets. The dashboard of application A 190 (or any type of commonlyutilized software application) may generate a box 302 for display on thedisplay 180. The box 302 may be a web browser (type) box 302, such asInternet Explorer®, and/or the box 302 may be any window that is avisual area containing some kind of user interface. The box 302 displaysthe output of and may allow input to one or more processes as understoodby one skilled in the art.

The box 302 is shown with four widgets, which are four pieces ofcontent. The four pieces of content are content A, content B, content C,and content D. The widgets may be interactive such that the user canmake selections via the input device 170 (e.g., a mouse). The user maychoose to perform an action on content A 312 which is a widget that isdisplaying a report specification. In this example implementation, theuser may click an edit button 304 on the widget content A 312 via themouse 170, but this could be accomplished in other ways as understood byone skilled in the art. As such, the user may select via the mouse 170to initiate additional editing tools and/or any kind of selectionrelated to and for content A. Prior to the selection of the editingtools for content A 312, the user visually sees view 301. Also, in theview 301, the user would see the selection state in the content A 312.The selection state refers to the currently selected item(s) (selectedby the user) in the content A 312, and this selection state is alsovisually represented (not shown in the FIG. 3 for conciseness) to theuser.

Turing to FIG. 3B, after the user invokes the selection of edit button304 to get additional tools contained in application B 195, thetransition software module (TSM) 160 is invoked to facilitate thetransition. First, the transition software module (TSM) 160 will store(e.g., in RAM of the memory 120) the size and position of the widgetcontent A 312 window in the box 302, before moving the widget thatcontains content A 312 to the top (i.e., content A is moved above allthe other widgets, such as content B, content C, and content D) on thebox 302 (screen). Then, the transition software module (TSM) 160animates the widget content A 312 to visually grow (enlarge) to fill theavailable space within the application A 190 window (box 302). While thecontent A 312 is growing the transition software module 160 may preventthe user from interacting (executing) content B, C, and/or D.

For example, the transition software module (TSM) 160 is configured torecognize and receive the selection (via button 304) of the editingtools of application B for content A 312. For example, the transitionsoftware module (TSM) 160 is configured to interact with the software ofthe application A 190 (e.g., as a plug-in) so that the transitionsoftware module (TSM) 160 is automatically triggered and executed inresponse to the user selecting button 304 for editing tools for thecontent A 312. In response to the selection by the user to invokeediting tools for content A 312, the transition software module (TSM)160 is configured to create a singular focus on the content A 312 by ananimated transition that enlarges content A 312 as shown in view 303.

View 303 shows the transition software module (TSM) 160 creating atransition in which the content A 312 of the application A 190 is beingenlarged in both a horizontal (shown by arrow 306) and a verticaldirection (shown by arrow 308) to cover any other content (widgets) onthe display 180. That is, the transition software module (TSM) 160 isenlarging content A to cover content B, content C, and content D.

With reference to view 305 in FIG. 3C, after the animation is complete(i.e., enlarging the window of content A 312 to fill the box 302), asingular focus on content A 312 is maintained in the box 302 on thedisplay 180 by the transition software module 160 while loadingadditional application B 195 (additional tools). The content A 312 willnot disappear during this loading phase, but a loading message (notshown) may be displayed to the user to indicate that application B 195is loading.

For example, the transition software module 160 will invoke applicationB 195 to start up in the background of content A 312. The transitionsoftware module 160 creates a duplicate copy of content A 312 inapplication B 195 as content A 314. On the display 180, the transitionsoftware module 160 is configured to position the content A 314 (window)of application B 195 in the exact same location as the content A 312(widget) window, and size the content A 314 window of application B 195to be the exact same as the window of content A 312. The transitionsoftware module 160 is configured to move the content A 314 (window) ofapplication B 195 behind the content A (widget) 312 (window), so thatthe loading of content A 314 of application B 195 is (visually) hiddento the user on the display 180. As seen in view 307 of FIG. 3D, a circle316 depicts a peek (directly and/or substantially directly) behindcontent A 312 which reveals the duplicate copy content A 314 ofapplication B with dashed lines. Although not visually seen by (orapparent to) the user viewing the display 180, content A 314 ofapplication B 195 is lined up with (and/or substantially lined up with)and behind the content A 312 of application A 190 by the transitionsoftware module 160.

As part of the startup for application B195, the transition softwaremodule 160 will pass along the server state from application A 190 toapplication B 195, which will allow application B 195 to startup underthe same user credentials, and security, etc, as application A 190 did.When creating the duplicate content A 314, when application B 195 isloading, application B 195 will notify the transition software module160. The transition software module 160 will then request the reportspecification, any selection state in the content A 312, and promptvalues (if any) from application A 190. The report specification,selection state in the content A 312, and prompt values from applicationA 190 (for content A 312) will also be passed into application B 190 (bythe transition software module 160) which will load the reportspecification and apply the same prompt values as the user chose inapplication A 190 (this will prevent the user from having to re-answerthe prompt questions).

The report specification is a document that describes the layout,styling and content of a report. The layout is the physical arrangementof items in a report specification. For example, the layout indicateswhere a title will appear, where a data table will appear, etc. Stylingis the style applied to items in a report specification. For example,the title may be 14 pt font and blue, and/or the bars on a chart will becolored red. The server state is a set of name/value pairs that containinformation for the current session the user is operating in. Forexample, the server state includes information such as the name the userhas logged in under, his/her current locale, a uniquely generated usersession ID, etc.

As mentioned above, the selection state refers to the currently selecteditem(s) in the content that the user visually sees. For example, if acell in a table, in the content A 312 of the application A 190 were tobe selected by the user, when transitioning to application B 195, thetransition software module 160 request the selection state fromapplication A 190 and pass the selection state to application B 195, sothat when application B 195 created its duplicate content A 314, theduplicate content A 314 could also represent the same selection. Thisreinforces the user perception that he is making a seamless transition.Also, by passing the same initial selection state in the content A 312of application A 190, the duplicate content A 314 in application B 195can have the same paging as content A 312. As such, the user cancontinue with the interaction as intended while using the application B195.

Prompt values are related to report specifications and can be configuredto be parameterized. Upon opening a parameterized report in a widget,the user could be prompted to provide an answer to the prompt so thatthe report output will be filtered by the user's prompt answer. Forexample, if a report is parameterized on country data, when a user opensthe report in a widget, the user will be prompted for which country(e.g., Canada, United States, etc) the user wants to be displayed in thereport. After the user chooses a country, for example Canada, the reportwill be filtered to only show data for Canada.

When application B 190 has completed loading the report specification,application B 190 will notify the transition software module 160. Inresponse to the notification, the transition software module 160 willthen (seamlessly) move the widget content A 312 window of theapplication A 190 behind the content B 314 window of application B 195,to thus reveal the duplicated content A 314 of application B 195 to theuser in display 180. View 309 in FIG. 3E depicts that content A 314 ofapplication B 312 is now on top of and covering content A 314 ofapplication A 190 on the display 180. Circle 318 shows dashed lines toindicate that content A 312 is directly behind content A 314 but unseenby the user on display 180. Because content A 314 of application B 195was positioned directly behind the widget content A 312 of application A190 and because no tools are yet displayed in content A 314 ofApplication B, the both content A 312 and content A 314 will line upexactly, and the swap will be imperceptible to the user on display 180.Note that the circles 316 and 318 illustrating the dashed lines are forexplanation purposes only and will not be seen by the user during thetransition.

View 311 of FIG. 3F illustrates the transition software module 160animating (transitioning) in the editing tools 310 of application B 195.Now that the content A 314 of application B is being displayed in placeof the widget content A 312 of application A 190, the transitionsoftware model 160 causes application B to transition in (e.g., byshowing or animating in by means of a fade in or slide in transition)its tools 310 (toolbars, buttons, menus, etc) on the display 180. Theanimated transition of the tools 310 allows the user's focus to remainon the content A 314.

When the animation by the transition software module 314 of the tools310 is complete, the user is free to work with the tools 314 inapplication B 195 on the content A 314 originally pulled from widgetcontent A 312 of application A 190. View 313 of FIG. 3G illustrates thecompleted transition of the tools 310 of the application B 195 by thetransition software module 160.

The graduated singular focus transition by the transition softwaremodule 160 works in both directions. For example, when the user desiresto get back to application A 190 from application B 195, the transitionsoftware module 160 reverses the steps described above (in FIGS. 3A-3G).The user will invoke in application B 195 (e.g., by clicking button 320with the mouse 170) that the user is done utilizing the additional tools310 of application B 195. Application B 195 will notify the transitionsoftware module 160. In response to the notification, the transitionsoftware module 160 will request the report specification, the selectionstate, and the prompt values from application B 195 and pass them toapplication A 190. The application A 190 will load the reportspecification and selection state into the widget content A 312 hiddenbehind the content A 314 of application B 195. For example, thetransition software module 360 causes application A 190 to update thecontent A 312 with the parameters of the content A 314 of theapplication B 195 so that any changes (which include selection statechanges, such as the user selected a different cell in a table ofcontent A 314) made by the user will now be included in content A 312.The transition software module 160 will and/or causes the application B195 to hide its tools 310 (toolbars, buttons, menu, etc) (e.g., byhiding or animating out by means of a fade out or slide out transition),just as the tools 310 were revealed as shown in FIG. 3F. Whenapplication A 190 has finished loading the report specification in thewidget content A 312, the application A 190 will notify the transitionsoftware module 160. In response, the transition software module 160will hide the content A 314 of application B 195, to thus reveal thewidget content A 312 that was behind the content A 314 (including anychanges made to content A 314). Again, because the content A 312 andcontent A 314 are lined up exactly, this transition to show content A312 of application A 190 by the transition software module 160 will beimperceptible to the user. The transition software module 160 will thenanimate the widget content A 312 back into its original position inapplication A 190 as shown in FIG. 3A. That is, the transition softwaremodule 160 will and/or cause the content A 312 to shrink back to itsoriginal size and relocate the content A 312 to its original positionwith respect content B, content C, and content D. The application B 195and its content A 314 are closed by the transition software module 360.

Further, it is understood that although examples may indicate that theediting tools 320 may transition by fading in, it contemplated that thetransition is not limited to fading in and/or fading out and theexamples are provided for explanation purposes. For example, the tools320 may slide in from the left, right, top, bottom, corners, etc. Also,the tools 320 may appear as a small representation (such as a small boxor dot), and enlarge to full size. Likewise, for the reverse when theapplication B 195 is transitioning back to application A 190, thetransition software module 160 can slide out the tools 320 in anydirection and/or cause the tools 320 to reduce in size until they vanishfrom the view of the user.

Further regarding the network 30, the network 30 may includecircuit-switched and/or packet-switched technologies and devices, suchas routers, switches, hubs, gateways, etc., for facilitatingcommunications between the computer 100 and the server 20. The network30 may include wireline and/or wireless components utilizing, e.g., IEEE802.11 standards for providing over-the-air transmissions ofcommunications.

According to exemplary embodiments, the network 30 facilitatestransmission of media (e.g., images, video, data, multimedia messaging,etc.) from content services provider systems to customers/users viadevices through a broadband connection. In exemplary embodiments, thenetwork 30 can be a managed IP network administered by a serviceprovider, which can control bandwidth and quality of service for thecommunications discussed herein. The network 30 may be implemented in awireless fashion, e.g., using wireless protocols and technologies, suchas such as Wi-Fi®, WiMAX™, Bluetooth®, etc. The network 30 can also be apacket-switched network, such as a local area network, a wide areanetwork, a metropolitan area network, an Internet network, or othersimilar types of networks. The network 30 may include a cellularcommunications network, a fixed wireless network, a wireless local areanetwork (LAN), a wireless wide area network (WAN), a personal areanetwork (PAN), a virtual private network (VPN), an intranet or any othersuitable network, and the network 30 may each include equipment forreceiving and transmitting signals, such as a cell tower, a mobileswitching center, a base station, and a wireless access point.

The terminology used herein is for the purpose of describing particularembodiments only and is not intended to be limiting of the invention. Asused herein, the singular forms “a”, “an” and “the” are intended toinclude the plural forms as well, unless the context clearly indicatesotherwise. It will be further understood that the terms “comprises”and/or “comprising,” when used in this specification, specify thepresence of stated features, integers, steps, operations, elements,and/or components, but do not preclude the presence or addition of oneor more other features, integers, steps, operations, element components,and/or groups thereof.

The corresponding structures, materials, acts, and equivalents of allmeans or step plus function elements in the claims below are intended toinclude any structure, material, or act for performing the function incombination with other claimed elements as specifically claimed. Thedescription of the present invention has been presented for purposes ofillustration and description, but is not intended to be exhaustive orlimited to the invention in the form disclosed. Many modifications andvariations will be apparent to those of ordinary skill in the artwithout departing from the scope and spirit of the invention. Theembodiment was chosen and described in order to best explain theprinciples of the invention and the practical application, and to enableothers of ordinary skill in the art to understand the invention forvarious embodiments with various modifications as are suited to theparticular use contemplated

The flow diagrams depicted herein are just one example. There may bemany variations to this diagram or the steps (or operations) describedtherein without departing from the spirit of the invention. Forinstance, the steps may be performed in a differing order or steps maybe added, deleted or modified. All of these variations are considered apart of the claimed invention.

While the exemplary embodiments to the invention have been described, itwill be understood that those skilled in the art, both now and in thefuture, may make various improvements and enhancements which fall withinthe scope of the claims which follow. These claims should be construedto maintain the proper protection for the invention first described.

1. A method for displaying a single focus on a device, comprising:displaying a piece of content in a first application on a display of thedevice; enlarging the piece of content to create a single focus on thepiece of content on the display of the device for a user; passingparameters of the piece of content to a second application; duplicatingthe piece of content as an identical piece of content in the secondapplication, wherein the identical piece of content is visuallypositioned behind the piece of content on the display of the device;seamlessly swapping the piece of content of the first application withthe identical piece of content of the second application, so that theidentical piece of content is visually positioned on the display of thedevice to be viewable by the user; and visually presenting tools of thesecond application in an incremental transition until the tools areviewable on the display and available to the user.
 2. The method ofclaim 1, further comprising loading the tools of the second applicationwhile visually maintaining the single focus on the piece of content onthe display, the tools being related to the piece of content.
 3. Themethod of claim 1, wherein enlarging the piece of content to create asingle focus on the piece of content on the display of the device for auser comprises enlarging the piece of content in at least one of ahorizontal direction and a vertical direction until the piece of contentcovers any other content.
 4. The method of claim 1, wherein theparameters of the piece of content comprises at least one of a serverstate, a report specification, a selection state, and a prompt value. 5.The method of claim 4, wherein the report specification comprises atleast one of a layout, a styling, and a content of a report.
 6. Themethod of claim 4, wherein the server state comprises a set of name andvalue pairs that contain information for a current session of the user.7. The method of claim 4, wherein the prompt value is related to thereport specification and filter a report output based on a prompt answerby the user.
 8. The method of claim 1, wherein duplicating the piece ofcontent as an identical piece of content in the second applicationcauses the identical piece of content to visually look the same as thepiece of content.
 9. The method of claim 1, wherein when the identicalpiece of content is visually positioned behind the piece of content onthe display of the device, the identical piece of content is positionednot to be viewable on the display to the user.
 10. The method of claim1, wherein seamlessly swapping the piece of content of the firstapplication with the identical piece of content of the secondapplication causes the piece of content of content of the firstapplication to be positioned behind the identical piece of content onthe display; and wherein the piece of content is no longer viewable onthe display and the identical piece of content is viewable on thedisplay.
 11. The method of claim 1, wherein by seamlessly swapping thepiece of content of the first application with the identical piece ofcontent of the second application a transition to view the identicalpiece of content does not change the single focus.
 12. The method ofclaim 1, wherein visually presenting tools of the second application inan incremental transition until the tools are viewable on the displaycomprises visually causing the tools to gradually appear on the displayuntil the tools are viewable on top of the identical piece of contentwithout changing the single focus.
 13. The method of claim 1, whereinthe identical piece of content becomes the single focus, in response toseamlessly swapping the piece of content of the first application withthe identical piece of content of the second application.
 14. The methodof claim 1, wherein transitioning back to the piece of content beviewable comprises: receiving a request to close the tools of the secondapplication; passing parameters of the identical piece of content in thesecond application to the first application; updating the piece ofcontent of the first application with the parameters of the identicalpiece of content; visually causing the tools of the second applicationto disappear on the display; seamlessly swapping the identical piece ofcontent of the second application with the piece of content of the firstapplication, so that the piece of content is visually exactly positionedon the display of the device to be viewable by the user.
 15. The methodof claim 14, further comprising reducing a size of the piece of contentto its normal size before the piece of content was the single focus. 16.The method of claim 14, further comprising closing the secondapplication.
 17. A device for displaying a single focus comprising:memory for storing a program; and a processor, functionally coupled tothe memory, the processor being responsive to computer-executableinstructions contained in the program and operative to: displaying apiece of content in a first application on a display; enlarging thepiece of content to create a single focus on the piece of content on thedisplay for a user; passing parameters of the piece of content to asecond application; duplicating the piece of content as an identicalpiece of content in the second application, wherein the identical pieceof content is visually positioned behind the piece of content on thedisplay; seamlessly swapping the piece of content of the firstapplication with the identical piece of content of the secondapplication, so that the identical piece of content is visuallypositioned on the display to be viewable by the user; and visuallypresenting tools of the second application in an incremental transitionuntil the tools are viewable on the display and available to the user.18. The device of claim 17, further comprising loading the tools of thesecond application while visually maintaining the single focus on thepiece of content on the display, the tools being related to the piece ofcontent.
 19. The device of claim 17, wherein enlarging the piece ofcontent to create a single focus on the piece of content on the displayof the device for a user comprises enlarging the piece of content in atleast one of a horizontal direction and a vertical direction until thepiece of content covers any other content.
 20. A computer programproduct, tangibly embodied on a computer readable medium, the computerprogram product including instructions for causing a computer to executea method for displaying a single focus, comprising: displaying a pieceof content in a first application on a display; enlarging the piece ofcontent to create a single focus on the piece of content on the displayfor a user; passing parameters of the piece of content to a secondapplication; duplicating the piece of content as an identical piece ofcontent in the second application, wherein the identical piece ofcontent is visually positioned behind the piece of content on thedisplay; seamlessly swapping the piece of content of the firstapplication with the identical piece of content of the secondapplication, so that the identical piece of content is visuallypositioned on the display to be viewable by the user; and visuallypresenting tools of the second application in an incremental transitionuntil the tools are viewable on the display and available to the user.